/**
 * 获取角色列表中第一个 激活状态的 如果获取不到就返回列表中第一个
 * @param roles
 * @returns {*}
 */
import router from "@/router";

export function currentRole(roles) {
  for (const role of roles) {
    if (role.status === 0) {
      return role;
    }
  }
}

/**
 * 映射本地视图文件
 * @param menus
 * desc: https://blog.csdn.net/qq_36656155/article/details/120349771
 */

// 拿到.vue文件对象
const modules = import.meta.glob("../views/**/**.vue");
export function addRoleRouter(menus) {
  for (const menu of menus) {
    //   type 1 path 不等于空  菜单
    if (menu.type === 1 && menu.path !== "") {
      const cnpPath = `../views${menu.component}/index.vue`;

      router.addRoute("main", {
        path: menu.path,
        name: menu.name,
        // 映射取值
        component: modules[/* @vite-ignore */ cnpPath],
        meta: menu.meta
      });
    } else if (menu.children) {
      addRoleRouter(menu.children);
    }
  }
}
